package com.shurdroides.sintesi;

import java.util.List;

import javax.persistence.EntityManager;
/**
 * Interficie que han de implementar todas las clases de acceso a datos
 * aquellas que se llaman Helper
 * @author alumneT
 *
 * @param <CLAU>
 * @param <T>
 */
public interface Controller<CLAU,T>  {
	
	public void makePersistent(T object) throws Exception;

    public void update(T object) ;

    public void remove(T object);

    public T getById(CLAU clau);

    public T getByName(String name);
    
    public int getCount();

    public void removeAll() ;

    public List<T> getList();

    public boolean containsKey(CLAU clau);
    
    public void setEntityManager(EntityManager em);


}
